#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

void DelayMS(uint ms)
{
    uchar i;
    while (ms--)
        for (i = 0; i < 112; i++)
            ;
}
void uartInit() //初始化函数
{
    SCON = 0X50;            //设置工作方式1,允许接收
    TMOD = 0X20;            //设置计数器工作方式2
    PCON = 0x00;            //SMOD=0,32分频
    TH1 = 0xfd, TL1 = 0xfd; //波特率9600晶振11.0529MHZ
    ES = 1;                 //打开接收中断sa
    EA = 1;                 //打开总中断
    TR1 = 1;                //打开计数器
    // TI = 1;  //这里一定要注意
}
// void uartSendString(uchar *s)
// {
//     while (*s)
//     {
//         SBUF = *s;
//         s++;
//         DelayMS(10);
//     }
// }
uchar RevBuf[10];
uint tempLenth, dataCount = 0;
void main(void)
{
    uartInit();
    while (1)
    {
        // uartSendString("waiting\n");
        // DelayMS(1000);
    }
}
void UART_one_Interrupt_Receive(void) interrupt 4
{
    if (RI == 1)
    {
        RI = 0;
        switch (SBUF)
        {
        case '\n':
            dataCount = 0;
            SBUF = 0x7e;
            break;
        default:
            RevBuf[dataCount] = SBUF; // 否，就存到RevBuf【】数组中
            SBUF = RevBuf[dataCount];
            dataCount++;
            break;
        }
    }
    while (!TI)
        ;
    TI = 0;
}